Interface strategies for creating and invoking marks

ABSTRACT

Strategies are described for adding a mark to media content at a source location in response to the activation of a marking mechanism, and then resuming the presentation of the media content at a second location based on the mark. The source location may be the same as the destination location, or the source location may differ from the destination location. In the latter case, the source location can correspond to a first room in a home that provides a first media processing mechanism, and the destination location can correspond to a second room in the home that provides a second media processing mechanism. The marking mechanism can correspond to a mark button provided by a remote control. Various user interface displays facilitate the adding of the mark and the resuming of the presentation, including various timelines displays, mark panel displays, thumbnail displays, etc.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation-in-part of co-pending U.S.patent application Ser. No. 10/698,349, entitled “MultimediaPresentation Resumption within an Environment of Multiple PresentationSystems,” filed on Oct. 31, 2003, which is incorporated herein byreference in its entirety.

TECHNICAL FIELD

This invention relates to strategies for presenting information tousers, and, in a more particular implementation, to interface strategiesfor associating a mark with information and for presenting theinformation based on the mark in the context of a multi-locationpresentation environment.

BACKGROUND

Home networking and multi-device presentation systems are becoming anincreasingly popular mechanism for presenting media content within homesor other local settings. In a typical multi-device scenario, a home mayinclude multiple interconnected presentation devices in different roomsof the home. In one possible configuration, a media content programbeing received by a hub presentation device from an external or localsource can be transferred to one or more other presentation devicesthroughout the home. This provision gives the users in the homeflexibility in their consumption of the media content program. Forinstance, a user can transfer a media content program from the hubpresentation device to a room (such as a bedroom or den) in which theuser prefers to consume this media content program.

The above-referenced commonly assigned patent application describes asystem for greatly enhancing the presentation options available to usersin an environment that includes multiple presentation devices. Accordingto one of the exemplary techniques described in that application, a usercan pause a media content presentation at a first presentation deviceand then resume the presentation at a second presentation device. Forinstance, in one scenario, the user can pause a live broadcast of amedia content program that is being presented at the presentation devicelocated in the living room of the home. The user can then move to herbedroom where she is allowed to resume the media content program on thesecond presentation device at the exact point where it was paused. Thisresumption mechanism is of great advantage, as it allows the user to“consume” media content programs throughout the home on differentpresentation devices without missing any media content and withouthaving to perform burdensome re-queuing of the media content.

Nevertheless, there remains room for improvement regarding theabove-described media presentation system. Namely, for instance, thecommercial success of media presentation technologies is stronglydependent on the techniques that these technologies use to interact withusers—that is, the strategies that these technologies use to presentinformation to users and receive input from the users. It is desirableto increase the utility of such user interfaces by providing aninterface design with sufficiently rich functionality. But it is alsodesirable to provide sufficiently user-friendly interfaces, which mayplace constraints on the complexity of the user interfaces.

Accordingly, there is an exemplary need for improved interfacestrategies for allowing users to transfer media content from onepresentation device to another (or for allowing users to mark the mediacontent at a presentation device and then later resume the presentationof the media content on the same presentation device).

SUMMARY

According to one exemplary implementation, a method is described forpresenting information. The method includes: (a) adding a mark, that isassociated with the information, at a source location by activating amarking mechanism; and (b) presenting the information at a destinationlocation based on the mark added at the source location. At least one ofsteps (a) and (b) involves displaying a visual indicator of the mark ata display position that is related to a time at which the mark wasassociated with the information.

According to another exemplary feature, the marking mechanism comprisesa mark button provided on a remote control which interacts with aprocessing mechanism that implements the adding.

According to another exemplary feature, the displaying involvespresenting the visual indicator of the mark at a display position alonga timeline, where the position conveys a juncture at which the markoccurs within the information.

According to another exemplary feature, the displaying involvespresenting multiple visual indicators of multiple respective marks atmultiple respective display positions along the timeline, where themultiple positions convey respective junctures at which the multiplemarks occur within the information.

According to another exemplary feature, the visual indicator of the markcomprises a thumbnail image corresponding to a part of the informationassociated with the mark, and the displaying comprises presenting thethumbnail image in positional relationship to at least one otherthumbnail image associated with another mark, wherein the positionalrelationship is based on the respective times associated with thecreation of the marks.

According to another exemplary implementation, another method isdescribed herein for presenting information that includes: (a) receivinginstructions generated in response to the activation of a markingmechanism during the display of a first program; (b) displaying a markpanel display in response to the instructions; and (c) receiving auser's input via the mark panel display to perform at least one of:creating a new mark in the first program; and invoking a preexistingmark in a second program.

Additional implementations and features will be described in thefollowing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary system for implementing a media presentationarchitecture described herein.

FIG. 2 shows an exemplary processing mechanism used in the system ofFIG. 1.

FIGS. 3 and 4 show two exemplary remote controls that can be used tointeract with the system of FIG. 1.

FIG. 5 shows an exemplary procedure for adding a mark to media content.

FIG. 6 shows an exemplary procedure for resuming media content from themark that was established according to the procedure of FIG. 4.

FIGS. 7-15 show different user interface pages that can be used tointeract with the system of FIG. 1.

The same numbers are used throughout the disclosure and figures toreference like components and features. Series 100 numbers refer tofeatures originally found in FIG. 1, series 200 numbers refer tofeatures originally found in FIG. 2, series 300 numbers refer tofeatures originally found in FIG. 3, and so on.

DETAILED DESCRIPTION

The strategies described herein pertain to adding marks to informationand resuming the presentation of the information based on the marks. Theterm “information” encompasses any kind of resource that can be consumedby a user, such as audio resources (e.g., music, etc.), still pictureresources (e.g., digital photographs, etc.), moving picture resources(e.g., broadcast television resources, movies, etc.), computer programs(e.g., games, etc.), markup language resources (e.g., hypertext markuplanguage resources received via a wide area packet network), and so on.The information can be analog or digital or a combination of analog anddigital. The information can be received in one format and thenconverted into another format (such as received in analog format andthen converted into digital format).

To facilitate discussion, the marking functionality will be described inthe exemplary context of media content programs that contain mediacontent. Such media content programs are most commonly associated withany kind of audio and/or video programs. The media content programs canalso include (or can omit) interactive content. Exemplary types of mediacontent programs can include television programs, movies, music,computer games, digital pictures (such as a digital slide show ofpictures), etc. The media content programs can be presented on mediapresentation devices commonly found in the home (such as televisions,stereo systems, personal computers, etc.). The media content programscan be in analog format, digital format, a combination or analog anddigital formats, and so on. However, again, the strategies describedhere have application to any kind of resources that can be presented onany kind of digital and/or analog rendering apparatus.

Generally, any of the functions described herein can be implementedusing software, firmware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. The term “logic”or “module” as used herein generally represents software, firmware, or acombination of software and firmware. For instance, in the case of asoftware implementation, the term “logic” or “module” represents programcode that performs specified tasks when executed on a processing deviceor devices (e.g., CPU or CPUs). The program code can be stored in one ormore computer readable memory devices. More generally, the illustratedseparation of logic and modules into distinct units may reflect anactual physical grouping and allocation of such software and/orhardware, or can correspond to a conceptual allocation of differenttasks performed by a single software program and/or hardware unit. Theillustrated logic and modules can be located at a single site (e.g., asimplemented by a processing device), or can be distributed over plurallocations.

Further, to facilitate discussion, certain operations are described asconstituting distinct steps performed in a certain order. Suchimplementations are exemplary and non-limiting. Certain steps describedherein can be grouped together and performed in a single operation, andcertain steps can be performed in an order that differs from the orderemployed in the examples set forth in this disclosure.

Finally, a number of examples will be presented in this disclosure inthe alternative (e.g., case A or case B). In addition, this disclosureencompasses those cases which combine alternatives in a singleimplementation (e.g., case A and case B), even though this disclosuremay not expressly mention these conjunctive cases in every instance.

This disclosure includes: Section A which describes an exemplaryarchitecture for implementing the resumption technique described herein;Section B which describes exemplary procedures for performing theresumption technique; and Section C which describes exemplary userinterface (UI) presentations (or “pages”) for assisting a user ininteracting with the architecture described in Section A.

A. Exemplary Architecture for Implementing Marking and ResumptionFunctionality

A.1. Exemplary System

FIG. 1 shows an exemplary system 100 for implementing the resumptiontechniques described herein. Broadly, the system 100 includes a homeenvironment 102 that receives media content programs from media sources104 via a coupling mechanism 106. The media sources 104 can include oneor more kinds of sources. For instance, the media sources 104 cancomprise a cable source 108 that transmits media content programs viahardwired lines (e.g., coaxial cables) to the home environment 102.Alternatively, or in addition, the media sources 104 can comprise abroadcast source 110 that transmits media content programs viaconventional wireless transmission from a local antenna to the homeenvironment 102. Alternatively, or in addition, the media sources 104can comprise various network sources 112 (such as sources coupled to apacket network such as the Internet) that transmit media contentprograms to the home environment 102. Still further possible sources canbe used to provide media content programs, as indicated by thegenerically labeled “other source” module 114 in FIG. 1. In general, anyof the media sources (108-114) can include any kind of infrastructure,such as various equipment for storing media content programs, variousequipment for processing media content programs, various equipment fortransmitting the media content programs, and so on. In oneimplementation, the media sources 104 can be configured to provide aone-way information conduit from the media sources 104 to the homeenvironment 102. In another implementation, the media sources 104 can beconfigured to provide a two-way information conduit that alsoaccommodates information transfer from the home environment 102 to themedia sources 104; in this case, such transfer can be accomplishedthrough the same coupling mechanism used to transfer information fromthe media sources 104 to the home environment 102, or via a supplementalcoupling mechanism.

Still alternatively, instead of the external media sources 104, or inaddition to the external media sources 104, the home environment 102 mayreceive media content programs from a source within the confines of thehome environment 102. One such exemplary local source is illustrated inFIG. 1 as local source 116. This local source 116 can represent any kindof storage media, such as any kind of silicon memory media, any kind ofmagnetic memory media, any kind of optical storage media, and so on. Forinstance, local sources 116 can include digital video disks (DVDs),compact disks (CDs), various types of magnetic disk or tape storagemedia, and so on. The local source 116 may also represent variousdevices for storing and retrieving the media content, such as variousjukebox devices, various computing devices, and so on.

In general, various commercial and contractual circumstances may governthe dissemination of media content programs. In one circumstance, theusers in the home environment 102 are permitted to receive the resourcesfrom the media sources (104-116) free of charge. For example, the usersin the home environment 102 can receive resources from a conventionalbroadcast source via wireless transmission from a local antenna orsatellite. In another circumstance, the users in the home environment102 must pay a periodic or one-time fee to receive the resources fromthe media sources (104-116). For instance, the users in the homeenvironment 102 can receive resources from a conventional cable sourcevia cable transmission by paying a monthly fee, or can receive resourcesfrom a pay-for-view site which allows the users to select and pay forindividual resources. Any media source can offer resources on a fixedschedule or at times requested by the user, such as in the case of videoon-demand (VOD) resources. Still other implementations and contractualpermutations may govern the dissemination of media content programs.

A source-to-home coupling mechanism 106 can represent any kind ofinformation conduit, or any combination of information conduits. In onecase, this coupling mechanism 106 can represent a conventional cablecoupling mechanism, local broadcast coupling mechanism, a satellitecoupling mechanism, a digital network coupling mechanism, or other kindof coupling mechanism or combination thereof. In the case of a digitalnetwork coupling mechanism, the network can be implemented as a widearea network (WAN) that transmits information in packets (such as theInternet), an intranet, a local area network (LAN), and so on. Thesource-to-home coupling mechanism 106 can generally include anycombination of hardwired links and wireless links, antennae, routers,gateways, etc.

The home environment 102 can represent a conventional residential home.Alternatively, the home environment 102 can represent any other kind ofbuilding or local setting, such as an apartment building, a school, anoffice building, a government building, etc. Instead of a singlebuilding, the home environment 102 can pertain to a collection ofbuildings, e.g., a campus or other defined geographic area. In any case,the home environment 102 can include multiple rooms, compartments, orother areas, such as room 118, room 120, room 122, and room 124. Forinstance, room 118 can correspond to a central media center in the homeenvironment 102, such as a family room having an entertainment centerlocated thereat. In one entirely exemplary case, room 120 may correspondto a study, room 122 may correspond to a bedroom, and room 124 maycorrespond to another bedroom.

Different processing mechanisms (126-132) and presentation devices(134-140) are located in the respective rooms (118-124). That is,processing mechanism 126 and presentation device 134 are located in room118, processing mechanism 128 and presentation device 136 are located inroom 120, processing mechanism 130 and presentation device 138 arelocated in room 122, and processing mechanism 132 and presentationdevice 140 are located in room 124. In general, a processing mechanismcan correspond to any equipment used to process media content programsfor presentation at a presentation device. An exemplary processingmechanism can correspond to a set-top box or may correspond to softwareand/or hardware functionality integrated into the associatedpresentation device itself. Alternatively, the processing mechanism cancorrespond to any kind of computing device (such as a personal computer)running any kind of software, a digital video playback device (DVD), apersonal video recording device (PVR), and so on. An exemplarypresentation device can correspond to a television, an audiopresentation device (e.g., a stereo system), a computer monitor, and soon. Although not shown, any room (118-124) can include more than oneprocessing mechanism and associated presentation device.

In one exemplary implementation, a home coupling mechanism 142 couplesthe processing mechanisms (126-132) and presentation devices (134-140)together. The home coupling mechanism 142 can be implemented as part ofa wide area network using the Internet Protocol (IP), an intranet, alocal area network (LAN), an Ethernet, a Universal Plug and Play (UPnP)protocol network, a point-to-point coupling technique, or other type ofcoupling strategy. The home coupling mechanism 142 can be physicallyimplemented using any kind of hardwired lines and/or wireless links(e.g., radio, infrared, etc.). The home coupling mechanism 142 and thesource-home-coupling mechanism 106 can also share various couplingresources, or, indeed, can represent the same networks. In anotherimplementation, the home coupling mechanism 126 is merely conceptual,where the actual transfer of media resources from one presentationmechanism to another can be performed by manual transport of media, suchas disks, video tape, etc. Generally, the home coupling mechanism 142can be used to transmit control information between processingmechanisms (126-132) to coordinate the transfer of programs betweenprocessing mechanisms; alternatively, or in addition, the home couplingmechanism 142 can be configured to permit actual transfer of mediacontent between processing mechanisms (126-132).

The system 100 can be implemented such that processing mechanism 126acts as a central server or hub which services the requests of otherprocessing mechanisms (e.g., processing mechanism 128-132), which act asclients. In this case, the master processing mechanism 126 can providethe primary coupling between media sources 104 and the home environment102. To serve in this capacity, the master processing mechanism 126 caninclude various functionality that is not provided in the otherprocessing mechanisms (128-132). In another case, any of the processingmechanisms (126-132) can function as a server to other processingmechanisms, in which case all of the processing mechanisms (126-132) caninclude identical functionality. Still other architectures can be usedto govern the interaction between processing mechanisms (126-132). Ingeneral, the system 100 may assign one of the processing mechanisms(126-132) the primary role of interacting with the media sources (104,116), or the system 100 may permit each processing mechanism (126-132)to directly interact with the media sources (104, 116).

Finally, the users can interact with the processing mechanisms (126-132)using one or more input devices. For instance, FIG. 1 shows theexemplary use of a remote control 144 to interact with processingmechanism 126 and associated presentation device 134, and the use of aremote control 148 to interact with processing mechanism 130 andassociated presentation device 138. The remote controls (144, 148) caninteract with processing mechanisms (126-132) via a conventionalcommunication technique, such as infrared signaling. One remote controlcan be used to interact with multiple processing mechanisms, orparticular remote controls can be used to interact with respectiveprocessing mechanisms. The processing mechanisms (126-132) canalternatively, or in addition, provide other input devices for receivinguser input, such as keyboards, keypads, joysticks, trackballs, etc. thatare coupled to the processing mechanisms via hard line or are integratedwith the processing mechanisms (126-132) themselves.

By way of broad overview, the system 100 shown in FIG. 1 allows a userto enter a mark using an input device (such as a remote control) while“consuming” particular media content programs at a particularpresentation device in a particular room in the home environment 102.One way that a user can enter this mark is via a mark button provided onthe input device, such as exemplary mark button 146 on remote control144 and exemplary mark button 150 on remote control 148. Note that otherkeys used by these remote controls (144, 148) are omitted in FIG. 1 soas not to unduly complicate this figure. Upon pressing one of these markbuttons (146, 148) while a media content program is playing (or whilethe user is otherwise interacting with media content program), theassociated presentation mechanism will record a mark that represents aposition in the media content program. In the case of an audio and/orvideo content program, the mark represents a particular point in thestream of information provided by the program, such as a particularpoint in a song or a particular scene in a movie. In a computer program,the mark can represent a particular state among a plurality of possiblestates provided by the program (such as a particular stage within aparticular game, etc.). The mark itself can include various information,such as the exact time and date when the mark was created, the relativeposition of the mark within the serial stream of information provided bythe media content program, an indication of the user who created themark, the room in which the mark was created, the processing mechanismused to create the mark, the processing mechanism or processingmechanisms that are permitted to later invoke the mark, the expirationtime of the mark, or any other information associated with the mark. Oneor more of these information items can be omitted. In oneimplementation, the system 100 can store the mark as a component of themedia content program to which it pertains (e.g., as data associatedwith or embedded in a particular video frame in the media contentprogram). Alternatively, the system 100 can store the mark in a separatestore (not shown), where the information associated with the markconveys the correlation between the mark and the media content programto which it pertains. In any event, the system 100 can provide one ormore user interface pages to assist the user in generating marks and forlater reviewing the marks. Section C describes a series of suchexemplary user interface pages.

After creating a mark in a media content program, the user who createdthe mark, or a different user, can resume the presentation of the mediacontent program at the same processing mechanism that was used to createthe mark, or the user can resume the media content program at adifferent processing mechanism. For instance, assume that a user 152uses the remote control 144 to enter a mark while watching a particularmedia content program (e.g., while watching a television program ormovie) in room 118 by actuating the mark button 146 at a particularjuncture in the presentation of the media content program. This actionprompts the processing mechanism 126 to record the mark and correlate itto a particular point in the media content program that is temporallyassociated with the actuation of the mark button 146. To facilitatediscussion, room 118 can be referred to as a “source location,” since itdefines the geographic location where the user viewed a portion of themedia content program and created the mark.

That same user 152 (or another user) can then invoke the mark to resumethe presentation of the media content program. The user 152 can invokethe mark at the processing mechanism 126 used to create the mark, or atany other processing mechanism in the home environment 102. To provide aconcrete example, assume, for instance, that the user 152 uses remotecontrol 148 in room 122 to invoke the mark, causing the processingmechanism 130 to resume the presentation of the media content programstarting from the position in the program associated with the mark. Inanother implementation (not shown), the user 152 can continue to watchthe media content program in room 118 after the mark has been created.Simultaneously, if the media content program so permits, another usercan go to room 122 and invoke the mark, prompting the processingmechanism 130 to resume the media content program starting at the pointin time associated the mark. Thus, in this case, two users aresimultaneously consuming the same media content program, but perhaps atdifferent junctures in the program. The system permits still otherapplication variations. In any event, in the scenario described above,the room 122 can be referred to as the “destination location,” as itdefines a location at which the media source program is resumed.

The system 100 can implement the transfer of media content programs fromone processing mechanism to another processing mechanism using differentkinds of techniques. In a pull architecture, media content originallypresent at processing mechanism 126 can be transferred to processingmechanism 130 at the time that the user 152 decides to invoke the markin room 122. In a push architecture, media content originally presentedat processing mechanism 126 can be transferred to processing mechanism130 at the time that the user 152 creates the mark in room 118. This hasthe effect of pushing the required media content from the processingmechanism 126 to the processing mechanism 130. Still other media contenttransfer mechanisms can be used to transfer media content programs fromone processing mechanism to another. In general, the transfer of mediacontent can refer to the actual transfer of media content inforrnation,or may refer to the transfer of control and configuration informationwhich allows another processing mechanism to resume a media contentprogram.

The specific behavior of the media content transfer between processingmechanisms can also vary depending on the type of media content programsbeing transferred. One category of media content programs is so-calledlive content, where the receiving processing mechanism receives themedia content under conditions dictated by the transmitting media source(e.g., at a fixed media streaming schedule defined by the transmittingmedia source). Another category of media content programs is so-calledrecorded content, where the receiving processing mechanism has somecontrol over the playback of the media content, that is, so that theplayback is not dictated by an agent outside the control of thereceiving processing mechanism. Another category of media contentprograms is so-called video on-demand (VOD) content, where the receivingprocessing mechanism can access media resources on-demand, but otherwisemay not have the kind of freedom in playback permitted by the recordedcontent category. The behavior also depends on variations of theabove-described basic content types. Further information regardingdifferent media content types and their relevance to the behavior of themedia content transfer functionality will be provided in Sections B andC below.

In the case of a live broadcast presentation, the system 100 canimplement the media content transfer functionality by using differenttechniques. In general, the reception of a live broadcast may rely onone or more tuners to receive and demodulate information received from amedia source (or sources). One technique for transferring media contentis referred to as “tuner swapping,” and another technique is referred toas “tuner sharing.” In either case, the system 100 tracks the state ofall live media content being consumed by each processing mechanism(126-132) in the system 100 (e.g., corresponding to states of paused,playing, delayed, etc.).

In the tuner swapping technique, the system 100 exchanges the stateregarding the playback of media content between processing mechanism 126and processing mechanism 130 (that is, with reference to the exemplarysource/destination example developed above). To implement tunerswapping, the processing mechanism 126 (the source location) can “giveup” its tuner to the processing mechanism 130 (the destinationlocation). As a result, the processing mechanism 130 will have access tothe media content pause buffer associated with a particular tuner, butthe processing mechanism 126 will not have such access.

In tuner sharing, the system 100 allows both processing mechanism 126and processing mechanism 130 to play back the same shared content whilekeeping independent states. To implement tuner sharing, the processingmechanism 130 and the processing mechanism 126 can be configured toshare the same tuner and associated pause buffer.

Regardless of how the transfer of media content programs is implemented,the processing mechanisms (126-132) can provide various user interfacepages that notify the user 152 of the presence of marks in media contentprograms, the positions of these marks within the media contentprograms, and other salient information regarding the marks. The user152 can use these user interface pages to activate the marks and thusresume the media content programs at the respective junctures in themedia content programs where the marks were made. Section C (below)provides additional information regarding exemplary user interface pagesthat can be used to view and activate marks.

In the examples provided above, each of the processing mechanisms(126-132) includes local processing functionality for interacting withusers. But, in another implementation, the system 100 can provide acentral server which provides functionality that can be shared amongplurality processing mechanism which operate as clients.

A.2. Exemplary Processing Mechanism

FIG. 2 is a more detailed illustration of an exemplary architecture ofthe processing mechanism 126 at the source location (e.g., in room 118).As mentioned in FIG. 1, this processing mechanism 126 interacts with themedia sources 104 via the source-to-home coupling mechanism 106. Thisprocessing mechanism 126 also interacts with other processing mechanisms(128-132) via the home coupling mechanism 142. The other processingmechanisms (128-132) can have an identical construction to processingmechanism 126 at the source location. Alternatively, the otherprocessing mechanisms (128-132) can omit one or more modules used in thepresentation mechanism 126 shown in FIG. 2, or can add additionalmodules that are not present in the processing mechanism 126 shown inFIG. 2.

The processing mechanism 126 is depicted as separate from its associatedpresentation device 134 (which, in this case, corresponds to aconventional television presentation device). In this implementation,the processing mechanism 126 can be provided as a set-top box whichcouples to the presentation device 134 via hardwired or wirelesslink(s). In an alternative implementation, the processing mechanism 126can be formed as an integral module of the presentation device 134, suchas a circuit board or other component within the presentation device134.

The processing mechanism 126 is illustrated as receiving input from theuser 152 via the remote control 144. Alternatively, or in addition, theprocessing device 126 can receive input from other input devices, suchas a keyboard, joystick, trackball, touch sensitive screen, and so on.

The processing mechanism 126 itself is shown as including a number ofmodules. Each of these modules can be implemented in software, hardware,or a combination of software and hardware. To achieve a softwareimplementation, the processing mechanism 126 can provide volatile and/ornon-volatile memory (not shown) for storing machine readable code andone or more processors (e.g., CPUs) (not shown) for implementing thiscode. Alternatively, hardware implementations can rely, in whole or inpart, on application-specific logic circuitry for providing variousfunctions to be described below.

To begin with, the processing mechanism 126 includes a media sourceinterface module 202 for receiving media content programs from the mediasources 104. The media interface module 202 is a general conceptualcontainer that can represent any software or hardware for receivingmedia content programs depending on the techniques used to transfer themedia content programs. For conventional broadcast sources, the mediasource interface module 202 can include one or more tuners for tuningthe processing mechanism 126 to channels used by the media sources 104to transmit media content programs (e.g., television programs) to thehome environment 102, and for demodulating the received media contentprograms. For network sources, the media source interface module 202 caninclude various kinds of modems or broadband couplings for decoding andprocessing media content programs received over hardwired and/orwireless network links (such as over the Internet). In the case wheretwo-way communication is permitted, the media source interface module202 can also include functionality configured to transmit information tothe media sources 104. The above-described examples are merelyrepresentative of a wide range of coupling functionality that can beprovided in the media source interface module 202.

A home coupling interface module 204 includes functionality forconnecting the processing mechanism 126 to the other processingmechanisms (128-132) via the home coupling mechanism 142. This homecoupling interface module 204 permits two-way communication, that is, byallowing the processing mechanism 126 to transmit information to otherprocessing mechanisms (128-132), and by allowing the processingmechanism 126 to receive information from the other processingmechanisms (128-132). The home coupling interface module 204 can beimplemented in different ways depending on the type of home couplingmechanism 142 being employed in a particular system 100; generally, thehome coupling interface module 204 can include various kinds of modems,point-to-point interface logic, decoding functionality, etc. Further, inanother implementation, various resources in the media source interfacemodule 202 can be shared with the home coupling interface module 204,especially where the source-to-home coupling mechanism 106 and the homecoupling mechanism 142 share network resources.

The processing mechanism 126 can also include an input interface module206 configured to interact with an input device, such as the remotecontrol 144, a keyboard, a trackball, a joystick, a touch sensitivescreen, and so on. In the illustrated implementation where theprocessing mechanism 126 interacts with the remote control 144, theinput interface 206 can include functionality configured to convertinfrared signals received from the remote control 144 into digitalsignals that can be processed by the processing mechanism 126.

The processing mechanism 126 also includes a presentation deviceinterface module 208 for interfacing with the presentation device 134.In the implementation illustrated in FIG. 2, the presentation deviceinterface module 208 can include functionality for formatting video andaudio signals for presentation at the presentation device 134 (which, inthis case, is a conventional television apparatus).

The core of the functionality provided by the processing mechanism 126is implemented by the processing logic 210. The processing logic 210 canbe implemented by hardwired logic circuitry, by one or more processingdevices (CPUs) running machine readable code, or by a combination ofhardware and software. To facilitate discussion, FIG. 2 depicts theprocessing logic 210 as including a plurality of logic modules, whichmay correspond to discrete logic circuitry units or sections of computercode that implement different functions. Of these logic modules,operating system logic 212 handles various background tasks associatedwith the operation of the processing mechanism 126, such as the transferof information between different components of the processing mechanism126.

Program navigation logic 214 generally handles all tasks associated withpresenting media content programs to users at respective presentationdevices. Such tasks can include, but are not limited to, switchingbetween different media content programs (e.g., by “switching” channelsin a conventional TV environment), presenting electronic program guide(EPG) information that identifies available media content programs andthe schedule at which these programs can be presented, presenting VODprogram information that identifies available programs that can beaccessed by users on an on-demand basis, starting a particular mediacontent program, stopping or pausing a particular media content program,transferring a media content program from one processing mechanism toanother, and so on.

Marking logic 216 within the program navigation logic 214 specificallyprovides the functionality that handles various tasks associated withthe processing of marks. More specifically, this marking logic 216 canbe conceptualized as providing two main functions. One function entailsthe creation of marks at a source location. Another function entails theinvocation of marks at a destination location, thereby resuming themedia content programs associated with the marks. To accomplish theseobjectives, the marking logic 216 is configured to generate and displayvarious user interface pages that allow the users to create marks,examine the presence of marks in programs, and resume the presentationof programs based on marks respectively contained therein.

The processing logic 210 can also handle a variety of other functionsnot directly relevant to the marking behavior featured in thisdescription. FIG. 2 generically labels such other functionality as“other logic” 218.

The processing mechanism 126 can also include one or more storagemodules 220. These storage modules can include various types of volatileand non-volatile memory. Exemplary storage modules can be dedicated tostoring program code. Other exemplary storage modules can be dedicatedto implementing pause buffers used to record media content in variouscircumstances, such as when users activate the pause or mark buttons ontheir respective remote controls. The storage modules 220 can alsoprovide various floppy disk drives, hard disk drives, optical diskdrives, etc. for storing information on a more permanent basis.

Finally, the processing mechanism 126 can include one or more internalcoupling mechanisms 222 for coupling its various modules together. Thesecoupling mechanisms 222 can represent various buses, variouspoint-to-point coupling connections, and so on.

FIG. 2 also shows a simplified depiction of the remote control 144 usedto interact with the processing mechanism 126. The remote control 144can include a collection of keys 224 that allow the user 152 to enterinformation. For instance, the remote control 144 can includeconventional channel up/down keys 226 that allow the user 152 tosequence through channels in a serial fashion in a forward or reversedirection. The keys 226 can also include the mark button 146. The user152 can press the mark button 146 at a particular juncture in thepresentation of a media content program. This causes the processingmechanism 126 to create and invoke a mark in the program. The markbutton 146 can also be used to invoke a previously created mark. Thekeys 224 shown in FIG. 2 are merely a simplified sampling of some of thekeys that the remote control 144 can include; as will be described belowin connection with FIG. 3, an actual remote control 144 will typicallyinclude many more keys for performing different functions.

The remote control 144 includes control logic 228 for implementing itsfunctionality. This control logic 228 can comprise hardwired circuitryor a processing device that implements machine readable code. Thegeneral task assigned to this control logic 228 is to translate the user152's key actuations into signals that can be transmitted to the inputinterface module 206 of the presentation mechanism 126 via wireless(e.g., infrared) transmission. An interface module 230 provided by theremote control 144 actually performs the wireless transmission ofsignals to the processing mechanism 146.

A.3. Remote Control

FIG. 3 provides a more detailed illustration of the exemplary remotecontrol 144 shown in FIG. 2. Of particular note here is the mark key 146that allows the user to add a mark to a media content program while themedia content program is being presented. The mark added by the mark key144 identifies a particular point in the media content program. The usercan also resume the media content program at the marked point byinvoking the mark. As will be described in Section C, one way to invokethe mark is to press the same mark key 146 that was used to create themark. The user can perform this task at any processing mechanism, suchas at the same processing mechanism that was used to create the mark orat a different processing mechanism.

A number of variations on the mark key motif can be implemented,although are not shown. In one case, the remote control 144 can includeplural mark keys that can be operated by different assigned users, suchas “Mark Key A” for a first user, “Mark Key B” for a second user, and“Mark Key C” for a third user. The marks created by these respectivekeys will also include information that indicates the user who createdthe marks. The system 100 could then be configured to honor these marksby allowing only certain users to invoke their own marks. Alternatively,different mark keys can be allocated for creating marks having differentcharacteristics. For instance, a first mark key could be used to createa mark that is more permanent than a mark created by a second mark key.Still further variations on this design motif can be implemented.

For completeness, other keys provided by the remote control 144 will bedescribed as follows. As these keys are not the primary focus of thisdisclosure, their functions will only be summarily described. A seriesof program play control keys 302 (stop, rewind, play, forward, previous,pause, and next) are used to control the presentation of a program in aconventional manner (providing that the presentation of the program canbe controlled in this manner). For instance, the previous and next keysin this set of keys 302 can be used to skip to a next program and aprevious program, respectively, in a video on-demand channel, etc.Another series of keys 304 provide a grouping of frequently used keys.This series of keys 304 can include left/right navigation keys 226 tonavigate backward and forward through a list of channels, and a volumecontrol key 306 used to adjust the audio level of media contentplayback. This series of keys 304 also includes the above-identifiedmark key 146.

Another series of keys 308 provides special functionality for activatingand navigating through program guides and related user interface pages.This series of keys 308 includes a list key that displays a program playlist, a menu key that displays an application menu, a favorite (FAV) keythat launches a favorites panel that provides a list of favoriteprograms, a lock key that launches a parental blocking setup screen fora current or selected show, and a guide key that launches a programguide. The left, right, up, and down keys shown in this series of keys308 allow a user to navigate through various buttons, lists, etc. thatappear in various user interface pages. An OK key disposed in the centerof these navigation keys allows a user to select or activate aparticular item that is displayed in the user interface pages. An exitkey dismisses an active page or panel displayed by a processingmechanism.

A final series of keys 310 permits a user to enter numeric information.Within this set of keys 310, an enter key is used to forward numericinformation entered by the numeric keys to an associated processingmechanism. An information key prompts the associated processingmechanism to present program information. A last key tunes theassociated processing mechanism to a previously selected channel.Finally, a help key prompts the associated processing mechanism toprovide help information to a user. Again, the organization of keys inthe remote control 144 is entirely exemplary. For example, additionalkeys can be added. Alternatively, a subset of the keys shown in FIG. 3can be omitted. Alternatively, the positional arrangement of keys shownin FIG. 3 can be varied.

The shape, style, labeling (e.g., “MARK”) and placement of the mark key146 shown in FIG. 3 is merely exemplary, as is the overall selection andarrangement of keys in the remote control 144 shown in FIG. 3. Forexample, FIG. 4 shows another remote control 400 that includes adifferent arrangement of keys compared to the remote control 144 of FIG.3, as well as a different placement of the mark key 146 compared to FIG.3. Considering that remote control 400 contains many of the same keys asthe remote control 144, a detailed discussion of this remote control 400will be omitted here. Among the keys in remote control 400 that are notcommon to the remote control 144 are: (a) a recorded TV key 402 thatprompts an associated processing mechanism to activate a recorded TVmode (which allows the user to view video programs that have beenrecorded or are in the process of being recorded); and (b) a live TV key404 that prompts the associated processing mechanism to activate a liveTV mode (which allows the user to view live video).

Still further remote control designs can be implemented.

B. Exemplary Method of Operation

FIGS. 5 and 6 summarize exemplary techniques for using the system 100shown in FIG. 1 to mark media content programs and to resume the mediacontent programs from the marked locations specified therein. Namely,the procedure 500 shown in FIG. 5 provides an overview of a method forcreating a mark in a media content program. The procedure 600 shown inFIG. 6 provides an overview of a method for resuming the presentation ofthe media content program based on the mark added thereto in theprocedure 500. To facilitate discussion, explanation of certain detailspresented in these figures will be deferred until Section C below.

B.1. Creating a Mark

To begin with, step 502 of procedure 500 (of FIG. 5) involves invokingmarking functionality at a processing mechanism in the home environment502. The location of this processing mechanism defines a so-called“source location,” as described above, meaning that this locationcorresponds to the site (e.g., room or other area of the house) wherethe user creates the marks and at which the user may have commencedconsuming a particular media program. To provide a concrete example, itwill be assumed that the user 152 is using presentation mechanism 126 tocreate a mark in a media content program that is being presented onpresentation device 134 in room 118. Further, the user 152 is usingremote control 144 to perform this task.

The processing mechanism 126 can provide different mechanisms forcreating the mark depending on a number of factors. Step 502 enumeratesseveral exemplary mechanisms (identified by bullet points) which will befully explicated in the context of Section C (below). By way of broadoverview, in one scenario, the user 152 can activate the mark button 146on the remote control 144 while the media content program is playing.This action will activate one or more of the user interface pages to bedescribed in Section C (below). In another case, the user 152 canpassively create marks through actions other than pressing the mark key146. One way to passively create a mark is to press the pause or stopkey on the remote control 144 (provided in key set 302), or to simplyswitch programs by pressing the channel left/right key 306. (Thefunctionality for the creation of passive marks applies to recordedprograms and VOD programs).

Next, in step 504, the processing mechanism 126 stores the mark createdin step 502. As mentioned above, the processing mechanism 126 can, ifpossible, embed this mark in the media content itself (e.g., within afield associated with a particular frame of video corresponding to amarked juncture in the media content program). Alternatively, theprocessing mechanism 126 can store this mark in a separate store (orstores) with information that indicates the correlation between thismark and certain junctures in the media content program. Still othertechniques can be used to store marks.

The mark itself can include various information, such as an indicationof a chronological time at which the mark was created, positionalinformation which reflects the location of the mark relative to somepoint in the media content (such as the beginning of the media content),information regarding where the mark was created and/or who created themark, information regarding where the mark is permitted to be resumedand/or who is permitted to resume it, and so on. One or more of theseinformation items are optional (such that they can be omitted).

Different marks have different “life spans” associated therewith. Forinstance, a mark created in a live program will only be retained for apredetermined amount of time, such as, in one entirely exemplary case,approximately 30 minutes. The system 100 deletes marks that are olderthan approximately 30 minutes. On the other hand, a mark created in arecorded or VOD program can be retained past the 30 minute window.However, the system 100 may be configured such that it does not includeprograms that contain “old” marks in various user interface pages thatlist programs having marks. This provision is beneficial so prevent adeluge of marks from inundating the user. A user who wises to examine“old” marks within these programs can inspect these marks through otherinterface routes (such as by activating program information displaysassociated with individual programs having marks, etc.).

B.2. Invoking the Mark

Advancing to procedure 600 shown in FIG. 6, assume that the user 152wishes to continuing consuming (e.g., watching) the media contentprogram from the juncture in the program established by the mark createdin the procedure 500. The user 152 can perform this task by invoking themark at any processing mechanism located in any room in the homeenvironment 102. Assume, for instance, that the user 152 wishes toresume the media content program at the same processing mechanism 226that he or she used to generate the mark (e.g., in room 118).Alternatively, assume that the user 152 wishes to resume the mediacontent program at processing mechanism 130 located in room 122 usingthe remote control 146. (Or perhaps another user, such as the spouse orsibling of user 152, may want to resume the program from room 118 orroom 122, or anywhere else for that matter.) Whatever the case, thelocation where a user invokes the mark is referred to in procedure 600as the “destination location.”

Step 602 of procedure 600 involves invoking the mark. To provide aconcrete context for explication, assume that the scenario describedabove applies in which the user 152 invokes the mark using processingmechanism 130 in association with remote control 148. The processingmechanism 130 can perform this task using different interface techniqueswhich are enumerated by bullet points in step 602. A full explication ofthese techniques will be deferred until Section C (below). By way ofoverview here, in one scenario, the processing mechanism 130 can allowthe user 152 to invoke the mark by pressing mark key 150 on the remote148. This can result in the activation of different kinds of userinterface pages. In another scenario, the processing mechanism 130 canprovide information regarding marked programs within one or morehigh-level user interface pages (such as a menu page, an EPG page, aprogram information page, and so on). The user can use these high levelpages as “portals” to activate a program containing marks.

Whatever the case, activation of a previously stored mark will promptthe processing mechanism 130 to resume the presentation of the mediacontent program from the juncture in the program that the mark pertainsto. Step 604 represents this operation.

Again, as mentioned above, the behavior of the system 100 in generatingand invoking marks can differ depending on the type of media contentprogram that is being handled and based on other factors. Thecharacteristics of the marks themselves can also vary depending on thetype of media content program associated with respective marks and basedon other factors. The behavior of the system 100 for the differentprogram types (and variations thereof) will be described in Section Cbelow.

The above discussion described the use of marks as bookmarks that enablea media content program to be resumed at the junctures associated withthe marks. However, the system 100 of FIG. 1 can include functionalitythat uses the marks for other purposes. For example, a user can addmarks to a media content program for the purpose of editing thatprogram. The marks can indicate the junctures in the program wherevarious editing events will take place, such as the introduction ofspecial effects (e.g., a graphical overlay, etc.). Alternatively, a pairof marks can indicate a span of the program where various editing eventswill take place, such as, again, the introduction of special effects.Alternatively, the pair of marks can indicate a span of program contentthat should be deleted. Still alternatively, the pair of marks canindicate a span of program content that should be made subject to aviewing restriction, and so on. For example, this mark-pairing featurecould be particularly beneficial in obscuring a video scene that aguardian wishes to conceal from a younger viewer.

In one implementation, the system 100 can use the same mark key 146 tocreate marks for bookmarking and marks for editing. In this case, themarks can be interpreted differently depending on the logic (e.g.,software) that is applied to process these marks. In anotherimplementation, the system 100 can allocate different mark keys for thepurpose of creating marks for bookmarking and for creating marks forediting, respectively. In this case, the marks created by these twodifferent mechanisms can include different distinguishing attributes.

In any case, where editing is employed, the system 100 can provide anautomatic processing mechanism which automatically performs some actionon the media content program based on the presence of editing markscontained therein. In another implementation, the system 100 can providea semi-automated user interface which allows a user to manually selectwhich editing operations are to be performed based on the presence ofmarks contained therein.

Still other variations of this editing mechanism can be implemented.

C. Exemplary User Interface (UI) Presentations

The remaining figures, i.e., FIGS. 7-15, show various user interfacepages that can be used to guide the user in creating a mark in a mediacontent program and in subsequently resuming the media content programbased on a previously created mark. Again assume, for exemplary purposesof discussion, that processing mechanism 126 is being used to create amark using remote control 144 at the source location. Assume furtherthat processing mechanism 130 is being used to invoke the mark that waspreviously created. In this exemplary scenario, the logic 216 (shown inFIG. 2) of processing mechanism 126 can be used to display themark-creation user interface pages on the presentation device 134 inroom 118, and the logic 216 of the processing mechanism 130 can be usedto display the mark-invocation user interface pages on the presentationdevice 138 in room 122. These user interface pages can generallycomprise graphical overlays that are displayed to the user 152 on thepresentations devices (134, 138). These user interface pages may coverthe entire presentation device display surface, or may cover only partthereof.

C.1. UI Functionality for Creating Marks

As indicated in step 502 of FIG. 5, different techniques are availablefor creating marks. Exemplary UI pages for performing these differenttechniques are described as follows.

Regarding Step 502(a)

Consider first a user interface page 700 shown in FIG. 7. Assume thatthe user 152 is watching a police drama television program usingprocessing mechanism 126 and associated presentation device 134. A frame702 of that program (e.g., the exemplary and fictitious program called“Police Drama Show”) is displayed in FIG. 7 in a top field of the userinterface page 700.

One way to create a mark in this program is to press the mark key 146 onthe remote control 144 while a so-called status bar 704 is beingdisplayed. (Such a status bar 704 can alternatively be displayed in atop portion of the user interface page 700, or, for that matter,anywhere on the user interface page 700.) The status bar 704 itselfincludes a band 706 that conveys the title of the program (e.g., “PoliceDrama Show”), the source of the program (e.g., live broadcast stationABC 7), and a current time (e.g., 8:17 PM). The status bar 704 alsoincludes a timeline 708 that spans a half hour segment allocated to theprogram (e.g., in this exemplary and non-limiting case, from 8:00 PM to8:30 PM). In general, the timeline 708 can be configured to span thelength of the program that the user is watching, although other timelinelengths can be used (such as a timeline length that spans a part of theprogram, a timeline length that spans a longer period than the program,and so on). A vertical line 710 designates a current position within theprogram (that is, this line 710 designates, chronologically, how far theprogram has advanced to its completion). Information 712 conveys thecurrent position in alphanumeric characters, e.g., 8:17:00 PM.

In response to pressing the mark key 146 on the remote control 144, theprocessing mechanism 126 adds a mark icon 714 above the timeline 710 todesignate the point in the program when the user 152 pressed the markbutton 146. The icon 714 is shown as having a diamond shape, but anykind of icon having any kind of shape can be used. In oneimplementation, the processing mechanism 126 can allow different usersto create their own associated marks; in this case, the processingmechanism 126 can assign different colors to different users' icons. Orthe processing mechanism 126 can assign different icon colors and/orshapes to designate marks having different characteristics.

FIG. 8 shows another status bar 800 (without its accompanying videoframe) in which the user 152 has created several marks in the program,instead of just one mark (as was the case in FIG. 7). FIG. 8 canspecifically correspond to the case where the user is currently watchingthe police drama show described above at a later point in the program,e.g., at time 8:23 PM. FIG. 8 shows the current state of the programwith a vertical line 802 which intersects the timeline 804. At thispoint in time, assume that the user 152 has created three marks bysuccessively pressing the mark key 146 on three occasions at threedifferent respective times during the presentation of the program. Thisis reflected by the three mark icons 806, 808, and 810 positioned atdifferent representative times along the timeline 804. In oneimplementation, the processing mechanism 126 sets no constraints on thenumber of marks that a user can create for a given program. But theprocessing mechanism 126 can be configured to check for and removeredundant marks (e.g., marks that occur at the same time, or within avery small time interval).

In one case, in both FIGS. 7 and 8, the processing mechanism 126 can beconfigured to create the marks as soon as the user 152 activates themark key 146 on the remote control 144. In another case, the processingmechanism 126 can be configured to require the user to take some otherconfirmatory action, such as by activating an “OK” button, etc.

By way of summary, the strategy shown in FIGS. 7 and 8 for creatingmarks corresponds to the technique labeled “(a)” within step 502 of FIG.5.

Regarding Step 502(b)

On the other hand, FIG. 9 presents a case in which the user 152 pressesthe mark key 146 when the status bar (e.g., panel 704 in FIG. 7) is notcurrently being displayed. In this exemplary case, the processingmechanism 126 can respond by presenting the mark panel 900 shown in FIG.9. This mark panel 900 provides an entry button 902 designating theprogram that the user is currently watching, in this case the exemplaryand fictitious show “Police Drama Show.” By pressing the entry button902, the user can add a mark to the program “Police Drama Show” at thepoint in time corresponding to when the user pressed the mark button 146on the remote control 144. (Alternatively, the system 100 can beconfigured to add the mark to the program at the point in timecorresponding to when the user presses the entry button 902.) Bypressing a cancel button 804, the user 152 can remove the mark panel 900without creating a mark. If the user 152 does decide to add a mark tothe show currently being watched, the processing mechanism 126 isconfigured to briefly display a status bar (having the basic formatshown in FIGS. 7 and 8). The status bar serves to show the user 152 theeffects of creating a mark, that is, by showing a diamond-shaped markicon at an appropriate location above the timeline of the status bar.

By way of summary, the strategy shown in FIGS. 8 for creating markscorresponds to the technique labeled “(b)” within step 502 of FIG. 5.

Regarding Step 502(c)

In addition to the above scenarios, the processing mechanism 126 cancreate marks in other circumstances (where the user has not pressed themark button 146 on the remote control 144). In one case, a passive markis automatically created when the user 152 presses a stop button on theremote control 144, e.g., for the cases of recorded programs or videoon-demand (VOD) programs. These kinds of passive marks serve astemporary shortcuts to resuming any stopped video stream.

In another case, the processing mechanism 126 will automatically set apassive mark when the user 152 leaves either a recorded program or a VODprogram to go to another program. In one exemplary implementation, theprocessing mechanism 126 will not set a passive mark when the user 152tunes away from a live program that is not being simultaneouslyrecorded. Further, in one exemplary implementation, the processingmechanism will not set a mark when the user 152 tunes away from a liveprogram that is being simultaneously recorded if the user 152 iswatching the program in live mode. (The “live mode” refers to the“consumption” of a live program directly from the streaming source,rather than indirectly from a store which is recording the streamingsource; the latter technique is referred to as “recorded mode.”)

By way of summary, the strategy shown in FIGS. 9 for creating markscorresponds to the technique labeled “(c)” within step 502 of FIG. 5.The three techniques (a-c) shown in FIG. 5 are merely exemplary; othertechniques can be provided for creating marks.

General Considerations

In general, and as mentioned above, marks have different characteristicsdepending on the type of program that they are associated with and thecircumstances under which the program is being processing. Marks addedto live programs have limited lifespan, such as, in one exemplary andnon-limiting case, approximately 30 minutes. This means that the user152 is given approximately a 30 minute window in which to activate amark and thereby resume the marked program. The system 100 automaticallydeletes marks that have been placed in a live program after theirrespective 30 minute windows have expired.

On the other hand, marks added to recorded programs and VOD programs canbe retained more permanently, that is, longer than the above-described30 minute window. (But, as described below, the user interface pageswhich identify lists of marked programs may be configured to excludethose programs containing marks over 30 minutes old so as not to undulyinundate these lists with programs containing “old” and potentially“stale” marks. That is, there is a potential that the user 152 isuninterested in these “old” marks, and their inclusion on interfacepages would only obfuscate the user's interface experience. The system100 can include alternative means for accessing these old marks, to bedescribed below.)

The information stored when a mark is created can include a timestampthat reflects when the mark was created, or which reflects the mark'sposition relative to some point in program (such as the beginning of theprogram). The store information can also include information regardingthe room (and associated processing mechanism) where the mark wascreated, the user who the mark, and so on.

Finally, various provisions also exist for deleting marks that have beenpreviously set. In one technique, the user 152 can delete a mark byselecting it using the status bar (such as the status bars shown inFIGS. 7 and 8). Pressing the mark key 146 when a previously created markicon has been selected will delete the mark corresponding to that markicon. In other words, pressing the mark button 146 when the status baris being displayed and a mark in the status bar has been selected willhave the effect of toggling that mark icon on and off (and therebysuccessively creating and deleting the mark).

Also, the system 100 will automatically delete a mark by default when,for a live program, the pause buffer content associated with the markhas been deleted. A mark is also automatically deleted when, for arecorded program, the recorded program has been deleted. A mark is alsoautomatically deleted when, for a VOD program, the VOD program (e.g.,movie) has expired.

C.2. Resumption of Programs Based on Marks

As shown in step 602 of FIG. 6, the system 100 also provides multipleways to resume marked media content. Again, to facilitate discussion,assume that the user 152 (or another user) has marked one or moreprograms using processing mechanism 126 in room 118 (the sourcelocation) and then the user 152 has retired to room 122 that containsprocessing mechanism 130. Assume that the user 152 wishes to resume thepresentation of marked media program using the presentation mechanism130 and remote control 148.

Regarding Step 602(a)

One way to perform the resumption of a video program is via the markpanel introduced above. Consider the mark panel 1000 shown in FIG. 10.In this case, again assume that the user 152 is watching the program“Police Drama Show” (but, this time, using processing device 130 in room122). Further assume that the user 152 presses mark key 150 on theremote control 148. This prompts the processing mechanism 130 togenerate the mark panel 1000. The mark panel 1000 again displays anentry button 1002 corresponding to the program currently being displayed(in this case “Police Drama Show”), as well as a cancel button 1004 thatallows the user 152 to remove the mark panel 1000 without creating amark. As described above, if the user 152 activates entry button 1002,then the processing device 130 will create a mark in the programcurrently being viewed (e.g., “Police Drama Show”).

In addition, the mark panel 1000 includes a collection of entry buttons1006 that identify other programs that have marks that have already beenset. In this exemplary and non-limiting case, only three shows are shownin collection 1006, but the user 152 may retrieve additional markedshows (if they exist) by activating the scroll icon 1008. The system 100can arrange the list of programs in the collection 1006 in chronologicalorder depending on the timestamp associated with each program's mostrecent mark. That is, the topmost entry in the collection 1006 willidentify a program that has a mark that is more recent than any othermark in any other program in the collection 1006, and so on. In oneimplementation, the collection 1006 of programs contains only one entrybutton per program, even though that program may contain multiple marks.In another implementation, the collection 1006 can contain duplicateentry buttons for a single program corresponding to separate instancesof marks in the single program that occur at different times. If aprogram in the collection 1006 is locked because of parentalrestrictions (or any other reason), the processing mechanism 130 can beconfigured to omit its name from the list of program names in thecollection 1006.

If the user presses any one of the entry buttons in the collection 1006,the processing mechanism 130 will respond by removing the mark panel1000 from the display and then displaying a status bar corresponding tothe selected program. The status bar has the basic graphical layoutillustrated in FIGS. 7 and 8. The processing mechanism 130 can then beconfigured to automatically resume the selected program from the mostcurrent mark in the program. In other words, in the case in which thestatus bar shows multiple mark icons arranged from left to right acrossthe timeline of the status bar, the processing mechanism 130 can beconfigured to resume the program starting at the point identified by therightmost mark icon.

In addition, if the status bar reveals plural mark icons, the processingmechanism 130 can allow the user 152 to navigate between these markicons and select another icon (other than the most recent mark iconwhich is selected by default). This will prompt the processing mechanism130 to resume the program at an earlier point in time. In general, theprocessing mechanism 130 can be configured to allow the user 152 tonavigate through a series of mark icons using the left and right keysprovided on the remote control 148 (such as the left and right keys inthe set of keys 308 shown in FIG. 3). Upon advancing to each mark icon,the processing mechanism 130 can further be configured to display avideo frame (e.g., above the status bar) associated with the point intime in the program that corresponds to the identified mark icon. Thisgives the user 152 some guidance as to where the mark lies within thecourse of the program. Further, the processing mechanism 130 can beconfigured to change the color of a selected mark icon with respect toother, non-selected, mark icons. Upon selecting a desired mark icon, theuser can activate the resumption of the marked program by pressing aplay key, an OK key, or some other suitably configured key on the remotecontrol 148.

By way of summary, the strategy shown in FIGS. 10 for invoking markscorresponds to the technique labeled “(a)” within step 602 of FIG. 6.Note that the mark panel can be used for both creating new marks and forinvoking preexisting marks. This dual purpose nature of the mark panelmakes it easier for a user to become familiar with and utilize the markpanel; thus, this interface strategy improves the user's user interfaceexperience.

Regarding Steps 602(b)-(d)

The processing mechanism 130 provides other mechanisms for resuming amarked program besides the mark panel 1000 shown in FIG. 10. Forinstance, the system 100 provides various overview user interface pages.These overview user interface pages can be modified to providesupplemental information regarding the presence of programs that containmarks.

FIG. 11 shows one such overview user interface page, i.e., a menu userinterface page 1100. The processing mechanism 130 can be configured toshow this menu user interface page 1100 as a basic introductory page ora so-called “home” or “main” page. The user interface page 1100 includesa collection 1102 of menu items that identify several options that theuser 152 can select to activate different services provided by thesystem 100. One such option is identified as “Guide.” Selecting thisoption activates an electronic program guide (EPG) that shows the user152 the programs that are available for selection (such as by using thefamiliar chronological grid layout). Another option is identified as“Video Store.” Selecting this option activates a menu of video on-demand(VOD) programs from which the user 152 may select. Another option isidentified as “Recorded TV.” Selecting this option activates a menu ofprograms that have been previously recorded (or are in the process ofbeing recording). These recorded programs can be stored locally in thehome environment 104, such as on hard magnetic disks, optical disks, andso on, or can alternatively be stored at an external site or sites.

In addition to the above-identified main menu selections, the menu userinterface page 1100 can identify a plurality of programs that the user152 can opt to continue watching (e.g., because they each contain one ormore marks that have been previously defined). More specifically, themenu user interface page 1100 shows program entry buttons 1104 and 1106corresponding to two programs having existing marks. The user 152 canselect additional program entries containing marks (if they exist) byactivating the scrolling icons 1108, 1110. The list of programscontaining marks in the menu user interface page 1100 can be limited tothose containing marks within a window of approximately 30 minutes, suchthat programs having marks that are older than 30 minutes are notdisplayed. Like the mark panel 1000 shown in FIG. 10, the list ofprograms contained in the user interface page 1100 can be ordered fromtop to bottom on the basis of how current the most current mark in eachprogram is. The menu user interface page 1100 only allocates one buttonentry in the list for each program containing marks, even though any oneof these programs may contain multiple marks. In another implementation,however, the list of programs could include multiple button entriescorresponding to different marks within a single media content program.

Finally, the menu user interface page 1100 can include a picture 1112that shows a program which the user's processing mechanism is currentlypresenting (e.g., the program that the processing mechanism is currentlytuned to). Alternatively, the picture 1112 can provide a video frameassociated with a marked position in one of the marked programs. Forexample, assume that entry button 1104 corresponds to a recordedtelevision program (e.g., pertaining to nature). If the user selectsthis entry button 1104, then the picture 1112 can be configured to showthe video frame associated with this program's most recent mark.

Activating any button entry corresponding to a program that containsmarks will prompt the processing mechanism 130 to activate the programthus selected. Like the case of the activation of the mark panel, theprocessing mechanism 130 can specifically be configured to show a statusbar associated with the selected program and to automatically select themost current mark that appears in the timeline of that status bar(providing that there are multiple marks in the selected program). Theprocessing mechanism 130 allows the user 152 to navigate among multiplemarks to select a resume point other than the most current marked point;this navigation can be implemented using left and right keys provided onthe remote control 148.

Other overview user interface pages (not shown) can be modified, in asimilar manner to that illustrated in FIG. 11, to include a listing ofprograms containing marks. For instance, the system 100 can beconfigured to display a list of marked programs within a user interfacepage devoted to presenting an electronic program guide (EPG).Alternatively, or in addition, the system 100 can be configured todisplay entry buttons in a program information page associated with anindividual program (if that individual program in fact includes at leastone mark).

By way of summary, the above-identifies strategies for invoking markscorrespond to the techniques labeled “(b),” “(c),” and “(d)” within step602 of FIG. 6.

General Considerations

In one implementation, the user interface pages that display lists ofprograms containing marks (such as the main menu presentation 1100 shownin FIG. 11, the mark panel presentation shown in FIG. 10, etc.) canexclude programs having marks that are more than approximately 30minutes old (even though it is permitted to retain marks for recordedprograms and VOD programs that are more than 30 minutes old). Thisprovision is useful so that the lists of programs containing marks donot grow too large and unwieldy. However, the system 100 can providefunctionality for allowing the user 152 to access marked programscontaining old marks. For instance, the system 100 can allow the user152 to access old marks for recorded and VOD programs via special pagesdevoted to providing listings of programs containing old marks.Alternatively, or in addition, the system 100 can allow the user 152 toaccess old marks via individual program information pages associatedwith programs that contain one or more marks.

It is possible that a situation may arise where interface page indicatesthat a marked program is available, but that program's mark expired soonafter the page was displayed (e.g., because the mark is now overapproximately 30 minutes old, or because of some other reason). In thiscase, if the user 152 activates the program containing the expired mark,the system 100 can be configured to present an error message thatindicates that the program could not be resumed.

In any of the user interface pages that present lists of programscontaining marks, titles of blocked programs (because of, for instance,parental control restrictions) can be replaced with text that indicatesthat the programs are locked, such as text that reads: “Locked Program.”

C.3. Mark Creation and Program Resumption Using Thumbnail Images

Regarding Step 502(d)

Instead of the mark panel 1000 shown in FIG. 10, which contains onlyalphanumeric information, the system 100 can allow the user 152 tocreate marks and to invoke previously created marks using user interfacepages containing thumbnail images. For instance, assume again that theuser 152 is watching a program called “Police Drama Show” usingprocessing mechanism 126 in room 118. Assume further that the user 152activates the mark key 146 of the remote control 144 used to interactwith the processing mechanism 126. This prompts, instead of thealphanumeric mark panel 1000 shown in FIG. 10, the user interface page1200 shown in FIG. 12 that contains thumbnail images.

The user interface page 1200 provides a frame 1202 of a program that iscurrently being presented at the time when the user 152 presses the markkey 146. That is, the frame 1202 corresponds to a frame that wascurrently being played within a stream of frames when the user 152pressed the mark button 146 of the remote control 144. In addition, theuser interface page 1200 includes a thumbnail display region 1204disposed at the bottom of the user interface page 1200 (or at adifferent location in the user interface page 1200). The thumbnaildisplay region 1204 includes a series of thumbnail images (1206-1212).Thumbnail images are generally small renditions of video frames inrespective different programs. The first thumbnail image 1206corresponds to the video frame 1202 shown in the top portion of the userinterface page 1200. The user interface page 1200 can also use varioustechniques for highlighting the first thumbnail image 1206 when thisuser interface page 1200 is first activated, such as by presenting thisthumbnail image 1206 in a highlighted background color or by drawing ahighlighted border around the thumbnail image 1206. Other thumbnailimages (1208, 1210, 1212) in the thumbnail display region 1204correspond to video frames in other programs associating with marksadded to those respective programs. In one case, the user interface page1200 can arrange the thumbnail images (1206-1212) from left to rightaccording to the relative currency of their respective most recent marks(e.g., such that the program having the most current mark is displayedat the farthest left). The thumbnail display region 1204 can alsoinitially include a text legend 1214 across its top which informs theuser 152 that the program currently being watched has been marked, andthat they have a 30 minute period to resume the program. The thumbnaildisplay region 1204 also includes alphanumeric time informationassociated with each thumbnail image; this information indicates thepoint in time, for each marked program, when the mark was generated.

In one scenario, once the user interface page 1200 has been activated,the system 100 automatically establishes the mark without requiring theuser 152 to perform further actions. In another case, the system 100requires the user 152 to press a confirmatory button on the remotecontrol 144, which prompts the system 100 to create the mark associatedwith thumbnail image 1206, or which prompts the system 100 to present astatus bar (having the form of the status bars shown in FIGS. 7 and 8).

By way of summary, the strategy shown in FIG. 12 for creating markscorresponds to the technique labeled “(d)” within step 502 of FIG. 5.

Regarding Step 602(e)

Instead of creating a new mark, the user 152 can use the user interfacepage 1200 shown in FIG. 12 to invoke a previously created mark andtherefore resume its associated program at a point corresponding to thepreviously created mark. Once again, assume that the user 152 has movedto room 122 where the user 152 wishes to resume a program usingprocessing device 130, remote control 148, and associated presentationdevice 138. FIG. 13 shows an exemplary user interface page 1300 thatallows the user 152 to resume a marked program using the thumbnail imagemotif shown in FIG. 12.

Like the case of FIG. 12, the user interface page 1300 shown in FIG. 13includes a video frame 1302 that shows a snapshot of a programcorresponding to a marked position within a video stream. The userinterface page 1300 also includes a thumbnail display region 1304 thatincludes thumbnail images (1306-1312). Assume that the user 152 pressesthe mark key 150 of remote control 148 while the program “Police DramaShow” is being played. Accordingly, the leftmost thumbnail image 1306would correspond to a video frame in that program that was beingpresented at the time that the user 152 activated the mark button 150.

However, instead of creating a mark in the currently playing program,the user 152 in the. FIG. 13 scenario wishes to resume a previouslymarked program. The user interface page 1300 can itself prompt the userto make such a selection via the text legend instruction 1314: “Select ashow that you would like to resume watching.” This legend can beautomatically presented a predetermined time after the legend 1214 (ofFIG. 12) is presented, such as a few seconds.

To resume a previously marked program, the user 152 can navigate acrossthe thumbnail display region 1304 to one of the thumbnail images(1308-1312) to the right of the thumbnail image 1306. This can beperformed by actuating the right key on the remote control 148 (e.g.,the right arrow key in the group of keys 308 on the remote control 148).An icon 1316 allows a user to display additional thumbnail images (ifthey exist) that are older than the rightmost thumbnail image 1312currently displayed in the thumbnail display region 1304.

Assume that the user 152 moves to the third thumbnail image 1310, whichcorresponds to a program providing live cartoons. A currently selectedthumbnail image can be discriminated from others by displaying it in ahighlighted background color, by presenting a highlighted border aroundit, and so on. The video frame 1302 shown in the top portion of the userinterface page 1300 provides a fuller sized version of the thumbnailimage 1310.

The user 152 can activate the thumbnail image 1310 by pressing anappropriate key of the remote control 148, such as a play key, an OKkey, etc. This can cause the immediate resumption of the marked programstarting at the position in the program corresponding to the markedvideo frame shown in the thumbnail image 1310. Alternatively, activatingthe thumbnail image 1310 can prompt the system 100 to display a statusbar which shows where the marked resumption point occurs in the contextof the timeline of the status bar. The user can then activate theresumption of the media content starting at the marked point by pressingan appropriate key on the remote control 148. Or the user 152 cannavigate to a different mark in the program. If the user activates apreviously marked program in the manner described above, as opposed tothe currently marked program represented by the leftmost thumbnail image1306, the system 100 can be configured to remove the mark from thecurrently displayed program corresponding to the leftmost thumbnailimage 1306.

In the above examples, the thumbnail display region includes only onethumbnail image per program containing marks, even though some of theseprograms may include plural marks. In another case, the thumbnaildisplay region can include plural thumbnail images for a single programthat includes plural associated marks. These thumbnail images can besorted from left to right according to time in the manner discussedabove.

FIG. 14 shows a user interface page 1400 including a thumbnail displayregion 1402 that results when the user 152 repeatedly actuates theadvance-to-the-right cursor 1404. To repeat, the user interface page1400 presents the thumbnail images in chronological order starting withthe program having the most recent marked point (on the far left) andending with the program having the least current marked point (on thefar right).

As mentioned above, live video programs only retain their marks for anapproximately 30 minute window (that is, according to one exemplary andnon-limiting example; in general, both shorter and longer windows can beimplemented as well). But recorded programs and VOD programs canpotentially include marks that are older than 30 minutes. The userinterface page 1400 shown in FIG. 14 allows the user 152 to access theseprograms containing old marks via access point 1410 (for recordedprograms containing marks) and via access point 1412 (for VOD programscontaining marks). That is, these access points (1410, 1412) can provideportals that allow the user 152 to access programs having old marks.

Finally, to facilitate discussion, the above description emphasized themarking of audiovisual media content programs, and the resumption ofsuch programs based on marks added to the programs. But the techniquesdiscussed above can apply to any kind of information, such as games,music, photos, etc.

For instance, FIG. 15 shows the application of the thumbnailpresentation motif introduced in FIGS. 12-14 to various other types ofresources. The user interface page 1500 shown in FIG. 15 includes athumbnail display region 1502 having a legend 1504 which indicates thatthe current time is 8:28 PM. The thumbnail display region 1502 includesa first thumbnail image 1506 that pertains to a certain point in a game,a second thumbnail image 1508 that pertains to a certain point inmusical piece, and a third thumbnail image 1510 that pertains to acertain photo in a sequence of photos.

By way of summary, the strategy shown in FIGS. 13-15 for invokingpre-exiting marks corresponds to the technique labeled (e) in step 604of FIG. 6.

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as exemplary forms of implementing theclaimed invention.

1. A method for presenting information, comprising: adding a mark, thatis associated with the information, at a source location by activating amarking mechanism; and presenting the information at a destinationlocation based on the mark added at the source location, wherein atleast one of said adding the mark and said presenting the informationinvolves displaying a visual indicator of the mark at a display positionthat is related to a time at which the mark was associated with theinformation.
 2. The method according to claim 1, wherein the sourcelocation is the same as the destination location.
 3. The methodaccording to claim 1, wherein the source location differs from thedestination location.
 4. The method according to claim 3, wherein thesource location is associated with a first area in a building thatcontains a first information processing mechanism and the destinationlocation is associated with a second area in the building that containsa second information processing mechanism.
 5. The method according toclaim 1, wherein the information comprises a media content program. 6.The method according to claim 5, wherein the media content programcomprises a video program.
 7. The method according to claim 1, whereinthe marking mechanism comprises a mark button provided on a remotecontrol which interacts with a processing mechanism that implements saidadding of the mark.
 8. The method according to claim 1, furtherincluding deleting the mark by selecting the visual indicator of themark and activating the marking mechanism again.
 9. The method accordingto claim 1, wherein the adding precludes the creation of another mark ifthat other mark occurs approximately at the same time as the first- 13mentioned mark.
 10. The method according to claim 1, wherein the visualindicator of the mark has visual display properties that convey at leastone characteristic of the mark.
 11. The method according to claim 10,wherein the visual display properties include at least a color forpresenting the visual indicator.
 12. The method according to claim 10,wherein said at least one characteristic of the mark pertains to anidentity of a user who added the mark.
 13. The method according to claim10, wherein said at least one characteristic of the mark pertains towhether the mark is currently selected or unselected.
 14. The methodaccording to claim 1, wherein the displaying further includes presentinga part of the information associated with the mark along with the visualindicator.
 15. The method according to claim 14, wherein the part is avideo image taken from the information which is associated with themark.
 16. The method according to claim 1, wherein the displayinginvolves presenting the visual indicator of the mark at a displayposition along a timeline, where the position conveys a juncture atwhich the mark occurs within the information.
 17. The method accordingto claim 16, wherein the displaying involves presenting multiple visualindicators of multiple respective marks at multiple respective displaypositions along the timeline, where the multiple positions conveyrespective junctures at which the multiple marks occur within theinformation.
 18. The method according to claim 17, further includingnavigating among the multiple visual indicators to select any one of thevisual indicators.
 19. The method according to claim 18, wherein thenavigating involves activating a first key on a remote control to moveto a temporally succeeding visual indicator with respect to a currentlyselected visual indicator, and activating a second key on the remotecontrol to move to a temporally prior visual indicator with respect tothe currently selected visual indicator.
 20. The method according toclaim 18, further including invoking a currently selected visualindicator by activating a presentation key on a remote control.
 21. Themethod according to claim 1, wherein the visual indicator of the markcomprises a thumbnail image corresponding to a part of the informationassociated with the mark, and the displaying comprises presenting thethumbnail image in positional relationship to at least one otherthumbnail image associated with another mark, wherein the positionalrelationship is based on the respective times associated with thecreation of the marks.
 22. The method according to claim 21, furtherincluding navigating among the thumbnail images to select any one of thethumbnail images.
 23. The method according to claim 1, wherein theadding involves at least one of: the generation of a status display,wherein the status display presents the visual indicator of the mark ata display position along a timeline, wherein the position conveys ajuncture at which the mark occurs within the information; the generationof a mark panel display that contains an input selection item associatedwith the information; and the generation of a thumbnail display thatpresents the visual indicator as at least one thumbnail imagecorresponding to a part of the information associated with the mark. 24.The method according to claim 1, wherein the presenting is invoked uponanother activation of the marking mechanism.
 25. The method according toclaim 1, wherein the presenting is invoked by the activation of an inputselection item associated with the information containing the mark,wherein the input selection item appears in a display that correspondsto at least one of: a mark panel display; a thumbnail display; a menudisplay; a program guide display; and a program-specific informationdisplay corresponding to the information.
 26. A computer readable mediumincluding machine readable instructions for implementing the adding andthe presenting of claim
 1. 27. A method for presenting information,comprising: receiving instructions generated in response to theactivation of a marking mechanism during the display of a first program;displaying a mark panel display in response to the instructions; andreceiving a user's input via the mark panel display to perform at leastone of: creating a new mark in the first program; and invoking apreexisting mark in a second program.
 28. The method according to claim27, wherein the mark panel display includes an input selection itemassociated with the first program, and at least one other inputselection item associated with the second program.
 29. A computerreadable medium including machine readable instructions for implementingthe receiving of instructions, the displaying, and the receiving of theuser's input of claim
 27. 30. A system for presenting information,comprising: logic configured to add a mark, that is associated with theinformation, at a source location by activating a marking mechanism; andlogic configured to present the information at a destination locationbased on the mark added at the source location, wherein at least one ofsaid logic for adding the mark and said logic for presenting theinformation is configured to display a visual indicator of the mark at adisplay position that is related to a time at which the mark wasassociated with the information.
 31. The system according to claim 30,wherein the source location is the same as the destination location. 32.The system according to claim 30, wherein the source location differsfrom the destination location.
 33. A processing mechanism for presentinginformation, comprising: logic configured to receive instructionsgenerated in response to the activation of a marking mechanism duringthe display of a first program; logic configured to display a mark paneldisplay in response to the instructions; and logic configured to receivea user's input via the mark panel display to perform at least one of:creating a new mark in the first program; and invoking a preexistingmark in a second program.